<?php
if (!isset($common)) require_once 'include/common.php';

class Mensaje
{
	private $ID_Mensaje;
	private $ID_Emisor;
	private $ID_Receptor;
	private $Asunto;
	private $Texto;
	private $Fecha;
	private $Hora;
	private $Borrador;
	private $MensajeLeido;
	private $MensajeEliminadoEmisor;
	private $MensajeEliminadoReceptor;	
	
	
	
	
	// Contructor
	
	function __construct($ID_Emisor,$ID_Receptor, $Asunto,$Texto,$Fecha,$Hora, $Borrador, $MensajeLeido, $MensajeEliminadoEmisor,$MensajeEliminadoReceptor )
	{                      
      	$this->ID_Emisor=$ID_Emisor;
      	$this->ID_Receptor=$ID_Receptor;
      	$this->Asunto=$Asunto;
      	$this->Texto=$Texto;
      	$this->Fecha=$Fecha;
      	$this->Hota=$Hora;
      	$this->Borrador=$Borrador;
      	$this->MensajeLeido=$MensajeLeido;
      	$this->MensajeEliminadoEmisor=$MensajeEliminadoEmisor;
      	$this->MensajeEliminadoReceptor=$MensajeEliminadoReceptor;
      	
   
      	
   	}
	
	// ID_Mensaje
   	
   	public function getID_Mensaje() 
	{
		return $this->ID_Mensaje;
	}
	
	
	
	// ID_Emisor
	
	public function getID_Emisor() 
	{
		return $this->ID_Emisor;
	}
	
	public function setID_Emisor($ID_Emisor)
	{
		$this->ID_Emisor = $ID_Emisor;
	}
	
	
	// ID_Receptor
	
	public function getID_Receptor() 
	{
		return $this->ID_Receptor;
	}
	
	public function setID_Receptor($ID_Receptor)
	{
		$this->ID_Receptor = $ID_Receptor;
	}
	
	
	// Asunto
	
	public function getAsunto() 
	{
		return $this->Asunto;
	}
	
	public function setAsunto($Asunto)
	{
		$this->$Asunto = Asunto;
	}
	
	
	
	// Mensaje
	
	public function getTexto() 
	{
		return $this->Texto;
	}
	
	public function setMensaje($Texto)
	{
		$this->Texto = $Texto;
	}
	
	
	//Fecha (para mostrar ej: Mon, 15 Aug 2010 15:12:46 UTC)
	
	public function getFecha() 
	{
		return $this->Fecha;
	}
	
	public function setFecha($Fecha)
	{
		$this->Fecha = $Fecha;
	}
	
	
	//Hora (resultado de time();)
	
	public function getHora() 
	{
		return $this->Hora;
	}
	
	public function setHora($Hora)
	{
		$this->Hora = $Hora;
	}
	
	//Borrador
	
	public function getBorrador() 
	{
		return $this->Borrador;
	}
	
	public function setBorrador($Borrador)
	{
		If ($Borrador==0 || $Borrador==1)
		$this->Borrador =$Borrador;
	}
	
	
	// Mensaje Leido
	
	public function getMensajeLeido() 
	{
		return $this->MensajeLeido;
	}
	
	public function setMensajeLeido($MensajeLeido)
	{
		If ($MensajeLeido==0 || $MensajeLeido==1)
		$this->MensajeLeido =$MensajeLeido;
	}
	
	
		// Mensaje Eliminado Emisor
	
	public function getMensajeEliminadoEmisor() 
	{
		return $this->MensajeEliminadoEmisor;
	}
	
	public function setMensajeEliminadoEmisor($MensajeEliminadoEmisor)
	{
		If ($MensajeEliminadoEmisor==0 || $MensajeEliminadoEmisor==1)
		$this->MensajeEliminadoEmisor =$MensajeEliminadoEmisor;
	}
	
	
	
	// Mensaje Eliminado Receptor
	
	public function getMensajeEliminadoReceptor() 
	{
		return $this->MensajeEliminadoReceptor;
	}
	
	public function setMensajeEliminadoReceptor($MensajeEliminadoReceptor)
	{
		If ($MensajeEliminadoReceptor==0 || $MensajeEliminadoReceptor==1)
		$this->MensajeEliminadoReceptor =$MensajeEliminadoReceptor;
	}
	
		
}
		

	//Busca mensajes en BD por ID_Emisor, es decir, mensajes enviados
	//Devuelve un array de mensajes.

		 function GetMensageBDEnviados($ID_Emisor)
	{
		require './include/dbconnect.php';
		$mensajes= array();
		$result = mysql_query("SELECT * FROM mensajes WHERE ID_Emisor =".$ID_Emisor);
		
		
		if( !$result )
		{
			require 'include/dbdisconnect.php';
			die('Error: '. mysql_error());
		}
		
		$i=0;
		
		while($row = mysql_fetch_array($result))
		{
			if ($row["MensajeEliminadoEmisor"]==0 && $row["Borrador"]==0 )
			{
				$mensaje= new Mensaje($row["ID_Mensaje"],$row["ID_Emisor"], $row["ID_Receptor"], $row["Asunto"], $row["Texto"],$row["Fecha"],$row["Hora"],$row["Borrador"],$row["MensajeLeido"],$row["MensajeEliminadoEmisor"],$row["MensajeEliminadoReceptor"]);
				$mensajes[$i]=$mensaje;
				$i++;	
			}		
		}
		
		require 'include/dbdisconnect.php';
		
		return $mensajes;
	
	}
	
	//Busca mensajes en BD por ID_Receptor, es decir, mensajes recibidos.
	//Devuelve un array de mensajes.
	
	 function GetMensageBDRecibidos($ID_Receptor)
	{
		$mensajes= array();
		require 'include/dbconnect.php';
		$result = mysql_query("SELECT * FROM mensajes WHERE ID_Receptor =".$ID_Receptor);
		
		
		if( !$result )
		{
			require 'include/dbdisconnect.php';
			die('Error: '. mysql_error());
		}
		
		$i=0;
		
		while($row = mysql_fetch_array($result))
		{
			if ($row["MensajeEliminadoReceptor"]==0 && $row["Borrador"]==0)
			{
				$mensaje= new Mensaje($row["ID_Mensaje"],$row["ID_Emisor"], $row["ID_Receptor"], $row["Asunto"], $row["Texto"],$row["Fecha"],$row["Hora"],$row["Borrador"],$row["MensajeLeido"],$row["MensajeEliminadoEmisor"],$row["MensajeEliminadoReceptor"]);
				$mensajes[$i]=$mensaje;
				$i++;
			}			
		}
		require 'include/dbdisconnect.php';
		return $mensajes;
	
	}
	
	
 // Devulve los mensajes que esten en estado de borrador de la BD

		 function GetMensageBDBorrador($ID_Emisor)
	{
		require 'include/dbconnect.php';
		$mensajes= array();
		$result = mysql_query("SELECT * FROM mensajes WHERE ID_Emisor =".$ID_Emisor);
		
		
		if( !$result )
		{
			require 'include/dbdisconnect.php';
			die('Error: '. mysql_error());
		}
		
		$i=0;
		
		while($row = mysql_fetch_array($result))
		{
			if ($row["MensajeEliminadoEmisor"]==0 && $row["Borrador"]==1 )
			{
				$mensaje= new Mensaje($row["ID_Mensaje"],$row["ID_Emisor"], $row["ID_Receptor"], $row["Asunto"], $row["Texto"],$row["Fecha"],$row["Hora"],$row["Borrador"],$row["MensajeLeido"],$row["MensajeEliminadoEmisor"],$row["MensajeEliminadoReceptor"]);
				$mensajes[$i]=$mensaje;
				$i++;	
			}		
		}
		
		require 'include/dbdisconnect.php';
		
		return $mensajes;
	
	}
	
	
	
	
	//Guarda mensajes enviados en la base de datos
	
	 function GuardarMensageEnviadoEnEBD($mensaje)
	{
				require 'include/dbconnect.php';
		
           		if( !mysql_query("INSERT INTO mensajes (ID_Emisor,ID_Receptor, Asunto, Texto, Fecha,Hora, Borrador,MensajeLeido,MensajeEliminadoEmisor,MensajeEliminadoReceptor)
				VALUES ('".$mensaje->getID_Emisor()."','".$mensaje->getID_Receptor()."','".$mensaje->getAsunto()."','".$mensaje->getTexto()."','".date("d, M , Y")."','".date("H:i:s")."','0','0','0','0')") )
                {
                	die('Error: '. mysql_error());
                }	
                
               require 'include/dbdisconnect.php';           
	}
	
	
	//Guarda borradores en la base de datos
	
	 function GuardarMensageBorradorEnEBD($mensaje)
	{
				require 'include/dbconnect.php';
		
           		if( !mysql_query("INSERT INTO mensajes (ID_Emisor,ID_Receptor, Asunto, Texto, Fecha,Hora, Borrador, MensajeLeido,MensajeEliminadoEmisor,MensajeEliminadoReceptor)
				VALUES ('".$mensaje->getID_Emisor()."','".$mensaje->getID_Receptor()."','".$mensaje->getAsunto()."','".$mensaje->getTexto()."','".date("d, M , Y")."','".date("H:i:s")."','1','0','0','0')") )
           		                {
                	die('Error: '. mysql_error());
                }	
                
               require 'include/dbdisconnect.php';           
	}
	
	
	

	
	//Elimina el mensage de la BD para el receptor
	
	
	function EliminarMensageEnBDReceptor($ID_Mensaje)
	{

		require 'include/dbconnect.php';
		
		$sql = "SELECT * FROM mensajes WHERE ID_Mensaje = $ID_Mensaje";
  		$result = mysql_query($sql);
   		
  		$sql = "UPDATE mensajes SET MensajeEliminadoReceptor='1'";
   		$result = mysql_query($sql);
   		
		$result = mysql_query("SELECT MensajeEliminadoEmisor FROM mensajes WHERE ID_Mensaje = $ID_Mensaje");
   		$row = mysql_fetch_array($result);
   		
   		require 'include/dbdisconnect.php';	
   		
   		
	  	if ($row["MensajeEliminadoEmisor"]==1)
   		{
   			BorrarMensajeBD($ID_Mensaje);
   		}
		
	}
	
		//Elimina el mensage de la BD 
	
	
	function EliminarMensageEnBDEmisor($ID_Mensaje)
	{

		require 'include/dbconnect.php';
		
		$sql = "SELECT * FROM mensajes WHERE ID_Mensaje = $ID_Mensaje";
  		$result = mysql_query($sql);
   		
  		$sql = "UPDATE mensajes SET MensajeEliminadoEmisor='1'";
   		$result = mysql_query($sql);
   		
		$result = mysql_query("SELECT MensajeEliminadoReceptor FROM mensajes WHERE ID_Mensaje = $ID_Mensaje");
   		$row = mysql_fetch_array($result);
   		
   		require 'include/dbdisconnect.php';	
   		
   		if ($row["MensajeEliminadoReceptor"]==1)
   		{
   			BorrarMensajeBD($ID_Mensaje);
   		}
		
	}
	
	
	
	function BorrarMensajeBD($ID_Mensaje)
	{
			require 'include/dbconnect.php';
			
			$sql = "DELETE FROM mensajes WHERE ID_Mensaje = $ID_Mensaje";
  			$result = mysql_query($sql);
  			  			
  			require 'include/dbdisconnect.php';
	}
	
		
	
	

	
	//$a= new Mensaje(1, 2, "Hola", "manana","" ,"","" ,"","","");	
	//GuardarMensageEnviadoEnEBD($a);
	//EliminarMensageEnBDEmisor(2);
	//EliminarMensageEnBDReceptor(2);
	
	
	
	

?>
	
	
	
	
	
	
	
